package com.xindaoapp.henghua.db;

import java.util.List;

import com.xindaoapp.henghua.entry.ArriveDataInfo;
import com.xindaoapp.henghua.entry.PropertyGatherInfo;
import com.xindaoapp.henghua.entry.PropertyLabelInfo;
import com.xindaoapp.henghua.entry.ScanData;
import com.xindaoapp.henghua.entry.SuperVisionInfo;
import com.xindaoapp.henghua.entry.TagsInfo;
import com.xindaoapp.henghua.entry.TransportDataInfo;
import com.xindaoapp.henghua.entry.UnSubmitLabelInfo;

public interface IDBHelper {
	/**
	 * 保存未提交的标签
	 */
	public void insertUnSubmitLabel(PropertyLabelInfo propertyLabelInfo, ScanData scanData);

	/**
	 * 获取未提交标签
	 */
	public List<UnSubmitLabelInfo> getUnSubmitLabels();

	/**
	 * 插入设备数据（保存所有的第一次请求的数据）
	 */
	public void insertPropertyGatherInfo(PropertyGatherInfo info);

	/**
	 * 获取设备信息（包含所有的第一次请求的数据）
	 * @return
	 */
	public List<PropertyGatherInfo> getPropertyGatherInfos();

	/**
	 * 清空所有数据库表
	 */
	public void clearAllTable();

	/**
	 * 删除数据库标签和扫描记录
	 */
	public void deleteLabel(String tagCode);

	public boolean isExistLabel(String tagCode);

	/**
	 * 重新设置标签的状态，设置为未修改状态
	 */
	public void resetLabelState(String tagCode);

	/**
	 * 
	 */
	public void updateLabelPhotoFilePath(String tagCode, String photoPath, String breviaryPhotosPath);

	/**
	 * 清空标签库
	 */
	public void clearTags();

	/**
	 * 插入标签库
	 */
	public void insertTags(TagsInfo tagsInfo);

	/**
	 * 获取所有的标签
	 * @return
	 */
	public List<TagsInfo> getTagsInfos();

	public void updatePropertyInfo(PropertyGatherInfo info);

	public void updatePropertyWithLabelDataInfo(PropertyLabelInfo info);

	public void updateScanData(ScanData info);

	public void updateSupervision(SuperVisionInfo info);

	public void updateTransportData(TransportDataInfo info);

}
